package com.dragon.modules.yuegou.entity.act;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.act.GiftCommodityType;
import com.dragon.modules.yuegou.enums.act.GiftStatus;
import com.dragon.modules.yuegou.enums.act.GiftType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 送礼表实体类<br>
 * 对应的表为：act_gift<br>
 *
 * @author pbuilder generated
 * @date 2021-05-11 17:09:45
 * @company sgy
 * @version 2.0
 */
@TableName("act_gift")
@ApiModel(description = "送礼表")
public class GiftEntity {

	/**  */
	protected String id;

	/** 排序 */
	@ApiModelProperty("排序")
	protected Integer sortNo;

	/** [枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT */
	@ApiModelProperty("[枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT")
	protected GiftType type;

	/** 活动状态：0-启用-START、1-停用-OVER */
	@ApiModelProperty("活动状态：0-启用-START、1-停用-OVER")
	protected Boolean openType;

	/** 商圈Id */
	@ApiModelProperty("商圈Id")
	protected String busdId;

	/** 活动名称 */
	@ApiModelProperty("活动名称")
	protected String activityName;

	/** 活动物品id */
	@ApiModelProperty("活动物品id")
	protected String articleId;

	/** [枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE */
	@ApiModelProperty("[枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE")
	protected GiftCommodityType commodityType;

	/** 活动商品名称 */
	@ApiModelProperty("活动商品名称")
	protected String commodityName;

	/** 活动积分 */
	@ApiModelProperty("活动积分")
	protected Integer articlePoints;

	/** [枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER */
	@ApiModelProperty("[枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER")
	protected GiftStatus status;

	/** 活动开始时间 */
	@ApiModelProperty("活动开始时间")
	protected LocalDateTime activityBeginTime;

	/** 活动结束时间 */
	@ApiModelProperty("活动结束时间")
	protected LocalDateTime activityEndTime;

	/** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

	/** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

	/** 逻辑删除，1表示已删除,0表示未删除 */
	@ApiModelProperty("逻辑删除，1表示已删除,0表示未删除")
	protected Boolean del;

	/** 删除人ID */
	@ApiModelProperty("删除人ID")
	protected String delBy;

	/** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

	/**
	 * 构造一个空送礼表实体对象
	 */
	public GiftEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个送礼表实体对象
	 *
	 * @param other 其它对象
	 */
	public GiftEntity(GiftEntity other){
		super();
		this.id = other.id;
		this.sortNo = other.sortNo;
		this.type = other.type;
		this.openType = other.openType;
		this.busdId = other.busdId;
		this.activityName = other.activityName;
		this.articleId = other.articleId;
		this.commodityType = other.commodityType;
		this.commodityName = other.commodityName;
		this.articlePoints = other.articlePoints;
		this.status = other.status;
		this.activityBeginTime = other.activityBeginTime;
		this.activityEndTime = other.activityEndTime;
		this.createdBy = other.createdBy;
		this.createdTime = other.createdTime;
		this.del = other.del;
		this.delBy = other.delBy;
		this.delTime = other.delTime;
	}


	/**
	 * 获取
	 *
	 * @return id
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置
	 *
	 * @param id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取排序
	 *
	 * @return sortNo 排序
	 */
	public Integer getSortNo() {
		return sortNo;
	}

	/**
	 * 设置排序
	 *
	 * @param sortNo 排序
	 */
	public void setSortNo(Integer sortNo) {
		this.sortNo = sortNo;
	}

	/**
	 * 获取[枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT
	 *
	 * @return type [枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT
	 */
	public GiftType getType() {
		return type;
	}

	/**
	 * 设置[枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT
	 *
	 * @param type [枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT
	 */
	public void setType(GiftType type) {
		this.type = type;
	}

	/**
	 * 获取活动状态：0-启用-START、1-停用-OVER
	 *
	 * @return openType 活动状态：0-启用-START、1-停用-OVER
	 */
	public Boolean getOpenType() {
		return openType;
	}

	/**
	 * 设置活动状态：0-启用-START、1-停用-OVER
	 *
	 * @param openType 活动状态：0-启用-START、1-停用-OVER
	 */
	public void setOpenType(Boolean openType) {
		this.openType = openType;
	}

	/**
	 * 获取商圈Id
	 *
	 * @return busdId 商圈Id
	 */
	public String getBusdId() {
		return busdId;
	}

	/**
	 * 设置商圈Id
	 *
	 * @param busdId 商圈Id
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取活动名称
	 *
	 * @return activityName 活动名称
	 */
	public String getActivityName() {
		return activityName;
	}

	/**
	 * 设置活动名称
	 *
	 * @param activityName 活动名称
	 */
	public void setActivityName(String activityName) {
		this.activityName = activityName;
	}

	/**
	 * 获取活动物品id
	 *
	 * @return articleId 活动物品id
	 */
	public String getArticleId() {
		return articleId;
	}

	/**
	 * 设置活动物品id
	 *
	 * @param articleId 活动物品id
	 */
	public void setArticleId(String articleId) {
		this.articleId = articleId;
	}

	/**
	 * 获取[枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE
	 *
	 * @return commodityType [枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE
	 */
	public GiftCommodityType getCommodityType() {
		return commodityType;
	}

	/**
	 * 设置[枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE
	 *
	 * @param commodityType [枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE
	 */
	public void setCommodityType(GiftCommodityType commodityType) {
		this.commodityType = commodityType;
	}

	/**
	 * 获取活动商品名称
	 *
	 * @return commodityName 活动商品名称
	 */
	public String getCommodityName() {
		return commodityName;
	}

	/**
	 * 设置活动商品名称
	 *
	 * @param commodityName 活动商品名称
	 */
	public void setCommodityName(String commodityName) {
		this.commodityName = commodityName;
	}

	/**
	 * 获取活动积分
	 *
	 * @return articlePoints 活动积分
	 */
	public Integer getArticlePoints() {
		return articlePoints;
	}

	/**
	 * 设置活动积分
	 *
	 * @param articlePoints 活动积分
	 */
	public void setArticlePoints(Integer articlePoints) {
		this.articlePoints = articlePoints;
	}

	/**
	 * 获取[枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER
	 *
	 * @return status [枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER
	 */
	public GiftStatus getStatus() {
		return status;
	}

	/**
	 * 设置[枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER
	 *
	 * @param status [枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER
	 */
	public void setStatus(GiftStatus status) {
		this.status = status;
	}

	/**
	 * 获取活动开始时间
	 *
	 * @return activityBeginTime 活动开始时间
	 */
	public LocalDateTime getActivityBeginTime() {
		return activityBeginTime;
	}

	/**
	 * 设置活动开始时间
	 *
	 * @param activityBeginTime 活动开始时间
	 */
	public void setActivityBeginTime(LocalDateTime activityBeginTime) {
		this.activityBeginTime = activityBeginTime;
	}

	/**
	 * 获取活动结束时间
	 *
	 * @return activityEndTime 活动结束时间
	 */
	public LocalDateTime getActivityEndTime() {
		return activityEndTime;
	}

	/**
	 * 设置活动结束时间
	 *
	 * @param activityEndTime 活动结束时间
	 */
	public void setActivityEndTime(LocalDateTime activityEndTime) {
		this.activityEndTime = activityEndTime;
	}

	/**
	 * 获取创建人ID
	 *
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}

	/**
	 * 设置创建人ID
	 *
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 *
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取逻辑删除，1表示已删除,0表示未删除
	 *
	 * @return del 逻辑删除，1表示已删除,0表示未删除
	 */
	public Boolean getDel() {
		return del;
	}

	/**
	 * 设置逻辑删除，1表示已删除,0表示未删除
	 *
	 * @param del 逻辑删除，1表示已删除,0表示未删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取删除人ID
	 *
	 * @return delBy 删除人ID
	 */
	public String getDelBy() {
		return delBy;
	}

	/**
	 * 设置删除人ID
	 *
	 * @param delBy 删除人ID
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取删除时间
	 *
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}

	/**
	 * 设置删除时间
	 *
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

	public String toString() {
		return new StringBuilder().append("GiftEntity{").
				append("id=").append(id).
				append(",sortNo=").append(sortNo).
				append(",type=").append(type).
				append(",openType=").append(openType).
				append(",busdId=").append(busdId).
				append(",activityName=").append(activityName).
				append(",articleId=").append(articleId).
				append(",commodityType=").append(commodityType).
				append(",commodityName=").append(commodityName).
				append(",articlePoints=").append(articlePoints).
				append(",status=").append(status).
				append(",activityBeginTime=").append(activityBeginTime).
				append(",activityEndTime=").append(activityEndTime).
				append(",createdBy=").append(createdBy).
				append(",createdTime=").append(createdTime).
				append(",del=").append(del).
				append(",delBy=").append(delBy).
				append(",delTime=").append(delTime).
				append('}').toString();
	}

	/**
	 * 复制对象
	 *
	 * @return 复制后的新实体对象
	 */
	public GiftEntity copy() {
		return new GiftEntity(this);
	}

	/**  */
	public static final String COL_ID = "id";

	/** 排序 */
	public static final String COL_SORT_NO = "sort_no";

	/** [枚举]类型：0-注册送礼-REGISTERED、1-完善资料-PERFECT */
	public static final String COL_TYPE = "type";

	/** 活动状态：0-启用-START、1-停用-OVER */
	public static final String COL_OPEN_TYPE = "open_type";

	/** 商圈Id */
	public static final String COL_BUSD_ID = "busd_id";

	/** 活动名称 */
	public static final String COL_ACTIVITY_NAME = "activity_name";

	/** 活动物品id */
	public static final String COL_ARTICLE_ID = "article_id";

	/** [枚举]活动商品类型：0-停车券-PARK_COUPON、1-代金券-VOUCHER_COUPON、2-积分-POINTS、3-优惠券-COUP、4-套餐-PACKAGE */
	public static final String COL_COMMODITY_TYPE = "commodity_type";

	/** 活动商品名称 */
	public static final String COL_COMMODITY_NAME = "commodity_name";

	/** 活动积分 */
	public static final String COL_ARTICLE_POINTS = "article_points";

	/** [枚举]活动状态：0-未开始-ABOUT_START、1-赠送中-PROCESSIONG、2-已结束-OVER */
	public static final String COL_STATUS = "status";

	/** 活动开始时间 */
	public static final String COL_ACTIVITY_BEGIN_TIME = "activity_begin_time";

	/** 活动结束时间 */
	public static final String COL_ACTIVITY_END_TIME = "activity_end_time";

	/** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

	/** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

	/** 逻辑删除，1表示已删除,0表示未删除 */
	public static final String COL_DEL = "del";

	/** 删除人ID */
	public static final String COL_DEL_BY = "del_by";

	/** 删除时间 */
	public static final String COL_DEL_TIME = "del_time";
}
